Document version 1.0.11 · Describes Pivotwell Photo Rotation Check version 1.0.11: the Lightroom plug-in and the standalone app · 24 October 2026
© 2026 The Picture Org LLC. Free 21-day trial, then a license key is
needed (section 3, "Trial and license key"); not to modify or resell;
see LICENSE.txt. Includes Python (PSF License), NumPy
(BSD), OpenCV (Apache 2.0), rawpy (MIT), LibRaw (GNU LGPL 2.1), pi-heif
(BSD) with libheif and libde265 (GNU LGPL 3), Pillow (MIT-CMU) and a
face-detection model from MediaPipe (Apache 2.0); see
NOTICE.txt. Pivotwell and Squarewell are trademarks of The
Picture Org LLC. Adobe and Lightroom are trademarks of Adobe Inc.; other
names are trademarks of their owners.
Pivotwell™ Photo Rotation Check (called Photo Rotation Check before version 1.0.5) finds the photos in a collection that look sideways or upside down, so you can turn them without paging through every picture. It is made for digital photos: phone and camera pictures, downloads, and photos shared by family, where portrait shots often arrive lying on their side. It looks at each photo (faces, the scene, sky and horizon) and says which way it seems to need turning: a quarter turn right, a quarter turn left, or upside down.
It comes in two forms, released together with the same version number and covered by one license. One installer lets you choose either or both.
The check is the same one used by The Picture Org's Squarewell™ Auto Crop & Straighten, which also crops and straightens scanned slides, prints and negatives. If you scan or photograph prints, slides or film, Auto Crop does everything this tool does and more; if you only work with digital photos, this is the tool for you.
| File or folder | Purpose |
|---|---|
Info.lua |
Tells Lightroom about the plug-in: its name, version and menu items. |
CheckRotation.lua, TurnFlagged.lua,
RotationRun.lua |
The Check rotation and Turn the flagged photos commands: running the helper, adding and removing the keywords and label, turning the flagged photos, the summary at the end. |
MetadataDefinition.lua,
MetadataTagset.lua |
The How sure (Pivotwell) field (since 1.0.3) and the Pivotwell note (since 1.0.5), shown in the Metadata panel and usable in the Library Filter. |
PluginInfoProvider.lua, logo.png |
The panel shown in File > Plug-in Manager: the website button, the License section and the Updates section. |
Update.lua, Init.lua |
Checking for a newer version (section 3, "Updates"): once a day in the background, and the Updates section of the Plug-in Manager. |
License.lua |
The free trial and license key check before each run, and finding the Python the helper runs with. |
ReportMenu.lua, Diag.lua |
Create an error log (section 7), and the running log it includes. |
helper\rotation.py |
The helper program that looks at each photo. Lightroom runs it in the background. |
helper\orient.py, helper\photoload.py,
helper\heic.py, helper\data |
The rotation check itself, reading the photos (JPEG, HEIC, TIFF, PNG, DNG and camera raw files), and its face and scene models. These are Auto Crop & Straighten's own, so both tools give the same answer for the same photo. |
helper\jxl |
Reading Lightroom's merged panoramas and HDRs, which are DNGs saved with JPEG XL compression. |
helper\shared-from.txt |
Which Auto Crop & Straighten release the rotation check came from (shown in the error log). |
helper\po_license.py |
Checks the license key and counts the free trial, on this computer (nothing is sent anywhere). |
helper\app.py, helper\app_render.py,
helper\app_ui.html, app-icon.ico,
app-icon.icns |
The standalone app (section 5): a small program that runs on this computer only and shows its page in your web browser; making the turned pictures and sidecars; the page itself; the app's icons. |
helper\update_apply.py |
Installs an update from inside Lightroom (Install now): checks the download and swaps the new files in, putting everything back if anything fails. |
python-win |
Windows download: Python and its image libraries for Windows. Nothing to install. |
python-mac |
Mac download: Python and its image libraries for Apple silicon Macs. Nothing to install. |
Setup-Mac.command |
One-time setup on an Intel Mac (section 3). |
Uninstall Pivotwell.exe |
Windows, only when installed with the Setup program: removes the plug-in and the app (also in the Start menu). It is in the app's folder. |
third-party-source |
Source code of rawpy and LibRaw, and of libheif and libde265 (the HEIC readers; since 1.0.3), which their licenses ask to be made available. |
docs |
This guide (Markdown and HTML), and a one-page cheat sheet (HTML and PDF). |
README.txt, CHANGELOG.txt,
LICENSE.txt, NOTICE.txt |
Quick start, version history, license, third-party notices. |
Keep the folder together. The plug-in looks for the helper and Python inside its own folder. The standalone app is a copy of the same folder, installed separately (section 3).
ThePictureOrg-Pivotwell-Mac-<version>.zip): Python
and the image libraries are inside it.There are three downloads. Pick the one for your computer:
| Download | For | How it installs |
|---|---|---|
ThePictureOrg-Pivotwell-Setup-<version>.exe |
Windows (easiest) | A Setup program installs the Lightroom plug-in, the standalone app, or both. |
ThePictureOrg-Pivotwell-Mac-<version>.zip |
Mac | An Install Pivotwell app inside the zip does the same on a Mac. |
ThePictureOrg-Pivotwell-Win-<version>.zip |
Windows, by hand | You put the plug-in folder where you like and add it in the Plug-in Manager. |
Which to install: both installers ask. Tick the Lightroom Classic plug-in if you use Lightroom Classic, the standalone app if you want to check photos without Lightroom (or to see each suggestion before saving turned copies), or both. One license covers both, and you can run the installer again later to add the other.
The app goes into
%LOCALAPPDATA%\Programs\ThePictureOrg\Pivotwell on Windows
(that is,
C:\Users\<you>\AppData\Local\Programs\ThePictureOrg\Pivotwell),
with Pivotwell in the Start menu and, if you like, on
the desktop. On a Mac it goes into Applications >
ThePictureOrg as Pivotwell (or into
ThePictureOrg in the Applications folder in your home folder, if the
main one can't be written). Since 1.0.8 every Picture Org app goes into
that one ThePictureOrg folder, each in its own; Setup
and the Mac installer move an earlier install there by themselves (on a
Mac, if you kept the app in the Dock, drag it in again from Applications
> ThePictureOrg). Your settings and license key stay where they
were.
The installers copy the plug-in into Lightroom Classic's own plug-in folder for your user account, where Lightroom finds it by itself every time it starts. You don't need File > Plug-in Manager > Add, and no administrator password is needed:
%APPDATA%\Adobe\Lightroom\Modules\PictureOrgRotationCheck.lrplugin
(that is,
C:\Users\<you>\AppData\Roaming\Adobe\Lightroom\Modules)~/Library/Application Support/Adobe/Lightroom/Modules/PictureOrgRotationCheck.lrpluginThePictureOrg-Pivotwell-Setup-<version>.exe.The Start menu gets a Pivotwell folder with the app, the User Guide, the cheat sheet and Uninstall Pivotwell, which removes both the plug-in and the app. To update, run the Setup program of the new version the same way: it replaces the old one. To remove it, use Uninstall Pivotwell in that Start menu folder, or Settings > Apps > Installed apps, Pivotwell, Uninstall.
ThePictureOrg-Pivotwell-Mac-<version>.zip and
double-click it to unzip. The new folder holds Install
Pivotwell, Uninstall Pivotwell and
Read Me First.txt.To update, open Install Pivotwell from the new
download the same way: it replaces the old version. To remove it
(plug-in and app), open Uninstall Pivotwell. Both keep
a log for support in
~/Library/Logs/PictureOrg/RotationCheck-install.log.
If you prefer to keep the plug-in in a folder of your own, or can't run the installers:
ThePictureOrg-Pivotwell-Win-<version>.zip.
Right-click the zip, choose Properties, tick Unblock,
click OK. Then unzip. Mac: unzip the Mac zip,
right-click Install Pivotwell, choose Show
Package Contents, and open Contents >
Resources: the plug-in folder is there.PictureOrgRotationCheck.lrplugin folder
somewhere permanent, for example
Documents\Lightroom Plug-ins (on a Mac,
Documents/Lightroom Plug-ins). Lightroom runs it from
there.Setup-Mac.command
once. Finder shows the plug-in folder as a single item, so right-click
PictureOrgRotationCheck.lrplugin and choose
Show Package Contents, then right-click
Setup-Mac.command and choose Open, and
Open again. A Terminal window installs OpenCV, rawpy
and NumPy into helper/mac-packages inside the plug-in,
nowhere else. When it says Done, press a key and
restart Lightroom.Updating by hand: in Plug-in Manager, select the old version and click Remove, then Add the new folder (or replace the folder's contents with Lightroom closed). Your license key is kept. Don't mix the two ways: if you switch to the Setup program or the Mac installer, remove the hand-added entry in the Plug-in Manager.
%LOCALAPPDATA%\PictureOrg on Windows,
~/Library/Application Support/PictureOrg on a Mac.Updates within the major version are complimentary.
Each photo that looks wrongly turned gets a keyword under Rotation Check, saying which way to turn it, and the purple color label so it stands out in the grid:
To see them: Library filter bar, Text > Keywords > contains > Check rotation, or click the keyword in the Keyword List, or filter on the purple label. Turn each photo, then either remove its keyword (and label) by hand or simply run Check rotation again on the same photos: a photo that now looks right loses its keyword, and the purple label the check gave it. A purple label you gave yourself (on a photo without the keyword) is never removed. The keywords are set not to be exported, so they never end up in your exported files.
Why it was flagged (since 1.0.5). Each flagged photo also says why, in plain words, in its Pivotwell note, for example "Check rotation: it looks like it needs a quarter turn to the right (from the faces, 82% sure)." It is shown in the Metadata panel: choose the Pivotwell view from the menu at the top of the panel. Each run replaces it (a photo that now looks right loses it), and Turn the flagged photos takes it off the photos it turns. You can also search it in the Library Filter (Text > Any Searchable Plug-in Field).
How sure it is. Each photo checked also gets How sure (Pivotwell): High, Medium or Low (since 1.0.3). It is shown in the Metadata panel (choose the Pivotwell view, or All Plug-in Metadata). To look at the uncertain ones first, open the Library Filter bar, click Metadata, set a column to How sure (Pivotwell) and pick Low: these are the photos most worth a glance, flagged or not. The message at the end says how many there are. (Lightroom can't sort the grid by a plug-in's field, so the filter is the way to gather them.)
Turning the flagged photos for you (optional, since 1.0.3). Select the photos (or the whole folder: only those with a "Check rotation" keyword are turned) and choose Library > Plug-in Extras > Turn the flagged photos. After you confirm, each one is turned with Lightroom's own Rotate Left or Rotate Right, the way its keyword says, and loses its keyword and purple label. It turns one photo at a time and checks each turn. Lightroom has a known fault where a plug-in's rotate can turn every photo shown in the grid instead of the chosen one, so the command also checks that no other photo in the catalog turned; if one did, it stops at once and tells you to use Edit > Undo. Look over the flagged photos before using it, and leave out any you think are wrong (remove their keyword, or don't select them): it turns what the keywords say, without looking again.
Only flag when at least N% sure (since 1.0.5, off unless you turn it on). If you would rather Pivotwell flag only the photos it is quite sure of, open File > Plug-in Manager, select Pivotwell, and under When to flag a photo tick Only flag when at least and pick 50% to 90%. A photo it thinks needs turning, but is less sure of, then gets no "Check rotation" keyword and the yellow label instead, and its Pivotwell note says so: "Not flagged: Pivotwell was only 52% sure, so it was not flagged (your setting asks for 70%). ..." Turn the flagged photos leaves those photos alone; look at them and turn them yourself if they need it. A later run takes the yellow label off only from photos whose note still says that, so a yellow label you chose yourself stays. The message at the end says how many were held back. With the box off (as it comes), every photo that looks turned is flagged, as before.
Profiles (since 1.0.7). A profile saved in the Pivotwell app (see section 5) can be chosen here too: in File > Plug-in Manager, under When to flag a photo, pick it from the Profile list and its "Only flag when at least" setting is filled in. The rest of a profile (how pictures are saved) belongs to the app, since the plug-in saves nothing. "(changed)" beside the list means the setting now differs from the profile.
Nothing else changes. Check rotation only adds and removes these keywords, the label, the How sure field and the note; it never turns, crops or edits a photo, and Edit > Undo takes back a whole run in one step. Turn the flagged photos turns only the photos you chose; Edit > Undo takes its turns back (you may need it once for each photo).
Crops and rotation already made in Lightroom count. The check looks at each photo the way Lightroom shows it: with Lightroom's own rotation (which can differ from the one saved in the file) and, if you have cropped it, at the crop only. The direction it suggests is from the photo as it is shown.
The app does the same check without Lightroom, shows every photo
turned the way it suggests, and saves turned copies only when you say
so. It runs on your computer only: it is a small program that shows its
window as a page in your web browser (the address starts with
http://127.0.0.1, which means "this computer"). Nothing is
uploaded; the page only talks to the program on your computer.
Starting it: Windows: Start > Pivotwell (or the desktop shortcut). Mac: Applications > Pivotwell. Your browser opens on the app's page. Opening it again while it runs just shows the same page. The gear (top right) holds License, Check for updates, the User Guide, Create an error log and Check my setup (both section 7) and Quit Pivotwell. The app also closes by itself a few minutes after you close its browser tab, but never in the middle of checking or saving.
1. Photos (left). Click Change, then Choose a folder… (tick Include subfolders to take the folders inside it too) or Choose photos… for some files. You can also paste a folder's path into the box and click Use. In the folder window you can type or paste a path too: on Windows in the address bar or the Folder box, on a Mac by pressing Cmd-Shift-G. The app remembers the last folder you used: it shows Last time: with that folder and an Open again button. A folder named "Turned" (the app's own results) is skipped.
2. Check rotation. Click Check rotation. A bar shows the progress; Cancel stops and keeps the photos done so far.
3. Look them over. Each photo is shown as a card, turned the way it will be saved. The ones that look sideways or upside down are ticked and carry a purple tag (Turn right?, Turn left?, Upside down?); the rest are unticked. The buttons above show To turn (the default), All, Not saving or Not sure, each with its count.
How sure (since 1.0.3): each card says how sure the check is of its answer, out of 100: Sure (85 and up), Fairly sure (60 to 84), or an orange Not sure below 60. Not sure shows only those photos, flagged or not, and Least sure first puts the least certain photos at the top, so you can look at the doubtful ones and skip the rest.
Only flag when at least N% sure (since 1.0.5, off unless you tick it, on the left above Check rotation): a photo the check would turn but is less sure of is still shown turned, but not ticked, with a Not flagged badge and a line saying how sure it was. Tick it if you want it saved turned.
Profile (since 1.0.7, on the left under Photos): a named set of the settings, "Only flag when at least" and everything under Save as. Choose one to fill them in. Save keeps the settings shown in the chosen profile, Save as... makes a new one, and Rename... and Delete do what they say. "(changed)" means the settings now differ from the profile. Three come ready to use: Flag every turned photo (as Pivotwell comes), Only the sure ones (only flag at 80% sure or more) and Camera raw: turn in sidecars (XMP sidecars, with raw files turned in them). Settings > Restore the starter profiles... puts those three back as they came; your own are kept. Profiles are kept in RotationCheck-profiles.json in the PictureOrg folder, beside the license, and can be chosen in Lightroom too.
Why (since 1.0.5): a photo the check would turn says why in a line under its name, the same words as the Pivotwell note in Lightroom ("Check rotation: it looks like it is upside down (from the faces, 95% sure)."). It also shows next to the larger view.
Under each card, the turn buttons (None, Left, Right, Upside down) change the turn. A card you changed is marked "changed by you".
The circle at the top left ticks or unticks a photo for saving. The … menu has Tick all shown and Untick all shown.
Click a card to see it larger. Shortcuts there: R turn right, L turn left, U upside down, 0 none, ← → previous and next, Space save or skip, Esc back to all photos.
4. Save (bottom). Save as shows how the photos will be saved; click it to change:
photo.xmp next to the photo; the picture is not
changed. If a sidecar is already there (say one Lightroom wrote), only
these fields are changed and a copy of the old one is kept as
photo.xmp.bak. Lightroom, Camera Raw and Bridge read
sidecars only for camera raw files (NEF, CR2, ARW and
so on; in Lightroom, select them and choose Metadata > Read
Metadata from Files). For JPEG, TIFF and DNG files use new
pictures or the Lightroom plug-in.
Then Save (it shows how many are ticked). When it's done, Show the files opens the folder and Check more photos starts again.
Color of raw files: new pictures made from raw files are converted by the app with the camera's white balance, a plain neutral rendering. For the color you would get from Lightroom, use the plug-in.
Settings (the save choices) are remembered for next
time. The app's log is RotationCheck-app-log.txt and the
checker's is rotationcheck-log.txt, both in the PictureOrg
folder (Windows: %LOCALAPPDATA%\PictureOrg; Mac:
~/Library/Application Support/PictureOrg).
| Message or problem | What to do |
|---|---|
| A photo was flagged wrongly or missed, and you want to send it to The Picture Org | Create an error log (called Create an error report in 1.0.0). In Lightroom: select the photos, then Library > Plug-in Extras > Photo Rotation Check: Create an error log. In the app: gear > Create an error log. A text file named "Pivotwell error log" with the date is saved on your Desktop and shown in Explorer or Finder; email it with a word about what looked wrong. It holds the version, your computer's system, each photo's result, a Check my setup report and the end of the log. File names are in it; nothing is sent by itself. Pictures (optional, since 1.0.5): tick Include small pictures of the problem photos in its window to add a small picture of each selected photo (in the app: the photos flagged, not checked, changed by you or not sure), up to 50, each as it is shown and as Pivotwell would turn it, with the reason underneath. The text and the pictures then come as one zip file. The box is off each time, because the pictures show your photos. |
| Something seems not to work at all, or you want to check before asking for help | Check my setup (since 1.0.5). In Lightroom: File > Plug-in Manager, select Pivotwell, and click Check my setup. In the app: gear > Check my setup. It tries each part Pivotwell needs (its Python, the picture and camera raw readers, the HEIC and JPEG XL readers, the rotation models, writing in its log folder, the license or free trial, never the key, and the last update check) and ends with "Everything looks fine." or names what is missing. Copy the text or save it on the Desktop to email it; nothing is sent by itself. Reinstalling usually fixes anything missing. |
| "The bundled Python (python-win folder) is missing" | The folder was moved or partly copied. Run the installer again, or unzip the plug-in again, all of it. |
| Nothing under Plug-in Extras after installing | Quit Lightroom Classic completely and start it again: it looks in its plug-in folder only when it starts. In File > Plug-in Manager, Pivotwell should be listed and enabled; if it is disabled, click Enable. |
| Check rotation appears twice under Plug-in Extras | Either it is installed twice (once by the installer, once added by hand: remove the hand-added entry in the Plug-in Manager), or Auto Crop & Straighten is installed too, whose menu has its own Check rotation only. Both give the same answers. |
| "Run Setup-Mac.command… first" or "Python 3 was not found" (Mac) | On an Apple silicon Mac, make sure you installed the Mac download.
On an Intel Mac: install Python 3 from python.org if needed, then open
Install Pivotwell again and accept the setup it offers
(or run Setup-Mac.command, section 3). |
| A photo is listed under "Not checked" | The file could not be read (damaged, or a type it doesn't read). The
reason is in the message; details are in
rotationcheck-log.txt, whose full path the message
gives. |
| A photo is flagged but is the right way up | Remove the keyword and purple label in Lightroom, or set it to None in the app. Create an error log for it if you'd like it used as a test case. |
| A sideways photo is not flagged | The check misses some (section 6). Turn it by hand. Photos rated Low (or Not sure in the app) are where misses are most likely. |
| Turn the flagged photos says it stopped and to use Undo | Another photo turned along with the chosen one (a Lightroom fault, section 4). Use Edit > Undo right away until the turns are back, then turn the rest with Photo > Rotate Left or Rotate Right, and send us an error log. |
| Turn the flagged photos says Lightroom can't turn photos from a plug-in | Your Lightroom version lacks this. Turn them by hand; the keyword says which way. |
| "The trial has ended. Enter a license key…" | Buy a license, or enter your key (section 3, "Trial and license key"). |
| "That key is not valid" | Paste the whole key from your order email, including the dot in the middle. Spaces and line breaks don't matter. A key for Auto Crop & Straighten or the Video Preservation Toolbox does not work here. |
| The app: nothing opens, or the page says to open it from its shortcut | Start it from its shortcut (Windows Start menu, Mac Applications);
it opens the page with its own address. If a browser tab from an earlier
session is left open, close it. If nothing opens at all, look at the end
of RotationCheck-app-log.txt (section 5). |
| The app: "Choose a folder" does nothing | The folder window may have opened behind the browser: look in the taskbar or Dock. Or paste the folder's path into the box and click Use. |
| Lightroom doesn't show the keyword from an app sidecar | Sidecars are read only for camera raw files, and only when Lightroom reads metadata: select the photos, Metadata > Read Metadata from Files. For JPEG, TIFF and DNG, save new pictures or use the plug-in. |
What changed in each version is in CHANGELOG.txt. The
license (21-day free trial, then a license key for one person on up to 2
computers, complimentary updates within the major version) is in
LICENSE.txt and the third-party notices in
NOTICE.txt.